﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace TangoFamilyAndGuide.RN
{
    public class Permiso
    {
        public static List<Entidades.Permiso> LeerListaPermisosPorUsuario(Entidades.Usuario Usuario, Entidades.Sesion Sesion)
        {
            TangoFamilyAndGuide.DB.Permiso db = new DB.Permiso(Sesion);
            return db.LeerListaPermisosPorUsuario(Usuario);
        }
        public static List<Entidades.Permiso> LeerListaPermisosActivesPorUsuario(Entidades.Usuario Usuario, Entidades.Sesion Sesion)
        {
            TangoFamilyAndGuide.DB.Permiso db = new DB.Permiso(Sesion);
            return db.LeerListaPermisosActivesPorUsuario(Usuario);
        }
        public static List<Entidades.Permiso> LeerListaPermisosPteAutoriz(Entidades.Usuario Usuario, Entidades.Sesion Sesion)
        {
            TangoFamilyAndGuide.DB.Permiso db = new DB.Permiso(Sesion);
            return db.LeerListaPermisosPteAutoriz(Usuario);
        }
        public static List<Entidades.Permiso> LeerListaPermisosFiltrados(string IdUsuario, string IdTipoPermiso, string Estado, Entidades.Sesion Sesion)
        {
            TangoFamilyAndGuide.DB.Permiso db = new DB.Permiso(Sesion);
            return db.LeerListaPermisosFiltrados(IdUsuario, IdTipoPermiso, Estado);
        }
        
        public static void PermisoAdminSITE(Entidades.Usuario Usuario, Entidades.Sesion Sesion)
        {
            Entidades.Permiso permiso = new Entidades.Permiso();
            permiso.Usuario = Sesion.Usuario;
            permiso.TipoPermiso.Id = "AdminSITE";
            permiso.FechaFinVigencia = new DateTime(2062, 12, 31);
            permiso.WF.Estado = "Active";
            TangoFamilyAndGuide.DB.Permiso db = new DB.Permiso(Sesion);
            db.Alta(permiso);
        }
        public static string PermisoOperadorSITE(Entidades.Sesion Sesion)
        {
            Entidades.Permiso permiso = new Entidades.Permiso();
            permiso.Usuario = Sesion.Usuario;
            permiso.TipoPermiso.Id = "OperadorSITE";
            permiso.FechaFinVigencia = new DateTime(2062, 12, 31);
            permiso.WF.Estado = "Active";
            TangoFamilyAndGuide.DB.Permiso db = new DB.Permiso(Sesion);
            return db.AltaHandler(permiso, false);
        }
        public static void CambiarEstado(Entidades.Permiso Permiso, string IdEstado, Entidades.Sesion Sesion)
        {
            DB.Permiso db = new DB.Permiso(Sesion);
            db.CambioEstado(Permiso, IdEstado);
        }
        public static void AgregarPermiso(Entidades.Permiso Permiso, Entidades.Sesion Sesion)
        {
            DB.Permiso db = new DB.Permiso(Sesion);
            db.AgregarPermiso(Permiso);
        }
    }
}